Skip to content

ci: Jira 관련 워크플로우 생성 (#29) #34

Merged
wkdtnqls0506 merged 4 commits intomainfrom
feat/#29
Jun 19, 2025
Merged

ci: Jira 관련 워크플로우 생성 (#29) #34
wkdtnqls0506 merged 4 commits intomainfrom
feat/#29

Conversation

@wkdtnqls0506
Copy link
Contributor

@wkdtnqls0506 wkdtnqls0506 commented Jun 17, 2025

✅ 이슈 번호

close #29


🪄 작업 내용 (변경 사항)

  • create-jira-issue.yml 생성
  • close-jira-issue.yml 생성

📸 스크린샷

  • issue-form 예시
스크린샷 2025-06-17 오후 3 19 50

💡 설명

create-jira-issue.yml

GitHub 이슈가 생성되면 자동으로 Jira 티켓 생성

  1. Jira 티켓 생성
    • PRODUCT 프로젝트 하위 Task로 생성
    • 상위 키를 지정하면 하위 이슈로 연동됩니다! (parentKey)
  2. 브랜치 자동 생성
    • 생성된 Jira 키(PRODUCT-123)를 기반으로 feat/PRODUCT-123 브랜치 자동 생성
  3. 이슈 제목 수정 및 코멘트 추가
    • 생성된 Jira 키를 기반으로 이슈 제목을 자동으로 변경
      ex) 카카로 로그인 구현 -> [PRODUCT-123] 카카로 로그인 구현
    • Jira 티켓 링크를 코멘트에 자동 등록

close-jira-issue.yml

GitHub 이슈가 닫히면 Jira 티켓도 자동으로 완료 상태로 전환

  1. GitHub 이슈 제목에서 Jira 키 추출 (PRODUCT-123)
  2. Jira 티켓에 완료 전환 트리거 실행

🗣️ 리뷰어에게 전달 사항

  • 브랜치 네이밍 방식(feat/이슈번호)이 괜찮은지 확인 부탁드립니다 👀

📍 트러블 슈팅

Summary by CodeRabbit

  • New Features
    • Jira와 연동되는 새로운 이슈 생성 템플릿이 추가되어, 이슈 생성 시 상위 티켓 번호, 구현 내용, 할 일 목록을 입력할 수 있습니다.
    • GitHub 이슈가 생성되면 자동으로 Jira에 하위 이슈가 생성되고, 관련 브랜치가 자동으로 만들어집니다.
    • GitHub 이슈가 종료되면 연동된 Jira 이슈도 자동으로 완료 처리됩니다.
  • Chores
    • 기존 "[Web1] 이슈 생성 템플릿"이 삭제되었습니다.

@coderabbitai
Copy link

coderabbitai bot commented Jun 17, 2025

"""

Walkthrough

기존의 "[Web1] 이슈 생성 템플릿"이 삭제되고, Jira 연동을 위한 새로운 이슈 템플릿과 두 개의 GitHub Actions 워크플로우(create-jira-issue.yml, close-jira-issue.yml)가 추가되었습니다. 이 워크플로우들은 GitHub 이슈 생성 및 종료 시 자동으로 Jira 이슈를 생성하고 완료 처리합니다.

Changes

파일/경로 변경 요약
.github/ISSUE_TEMPLATE/-web1--이슈-생성-템플릿.md 기존 Web1 이슈 생성 템플릿 삭제
.github/ISSUE_TEMPLATE/issue-form.yml Jira 연동을 위한 신규 이슈 템플릿 추가
.github/workflows/create-jira-issue.yml
.github/workflows/close-jira-issue.yml
Jira 이슈 생성 및 종료 자동화를 위한 GitHub Actions 워크플로우 추가

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant GitHub
    participant GitHub Actions
    participant Jira

    User->>GitHub: 이슈 생성
    GitHub->>GitHub Actions: 이슈 생성 이벤트 트리거
    GitHub Actions->>Jira: Jira 이슈 생성 (부모 이슈와 연동)
    GitHub Actions->>GitHub: 이슈 제목에 Jira 키 추가, 댓글로 Jira 링크 안내

    User->>GitHub: 이슈 종료
    GitHub->>GitHub Actions: 이슈 종료 이벤트 트리거
    GitHub Actions->>Jira: Jira 이슈 상태 '완료'로 변경
Loading

Assessment against linked issues

Objective Addressed Explanation
Jira 관련 워크플로우 생성 (이슈 생성, 이슈 종료) (#29)

Poem

🐰
새로운 이슈엔 템플릿이 반짝,
깃헙과 지라가 손을 맞잡아,
생성과 종료, 자동의 마법!
토끼는 기쁘게 춤을 추네,
워크플로우 따라, 일도 척척!

(깡총! 🥕)
"""


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 806bb83 and b2a56eb.

📒 Files selected for processing (1)
  • .github/workflows/create-jira-issue.yml (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/create-jira-issue.yml

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🧹 Nitpick comments (1)
.github/workflows/create-jira-issue.yml (1)

63-68: 브랜치 네이밍 컨벤션 검토
현재 feat/${ISSUE_NUMBER}로 고정되어 있으나, 이슈 타입(예: bug/, hotfix/)을 구분하거나 이슈 템플릿 입력 항목에 따라 분기 처리하는 방안을 고려할 수 있습니다.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 32106be and ca2361c.

📒 Files selected for processing (4)
  • .github/ISSUE_TEMPLATE/-web1--이슈-생성-템플릿.md (0 hunks)
  • .github/ISSUE_TEMPLATE/issue-form.yml (1 hunks)
  • .github/workflows/close-jira-issue.yml (1 hunks)
  • .github/workflows/create-jira-issue.yml (1 hunks)
💤 Files with no reviewable changes (1)
  • .github/ISSUE_TEMPLATE/-web1--이슈-생성-템플릿.md
🧰 Additional context used
🪛 actionlint (1.7.7)
.github/workflows/close-jira-issue.yml

22-22: "github.event.issue.title" is potentially untrusted. avoid using it directly in inline scripts. instead, pass it through an environment variable. see https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions for more details

(expression)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: test
🔇 Additional comments (2)
.github/ISSUE_TEMPLATE/issue-form.yml (1)

6-33: 입력 필드 ID와 Issue Parser 매핑 확인 요청
id: parentKeystefanbuck/github-issue-parser 실행 후 ${{ steps.issue-parser.outputs.issueparser_parentKey }}로 잘 매핑되는지 공식 문서를 참고해 검증해주세요.

.github/workflows/close-jira-issue.yml (1)

27-33: Jira Transition 이름 검증 필요
transition: 완료가 실제 Jira 워크플로우의 상태 이름 혹은 ID와 일치하는지 확인하고, 가능하면 이름 대신 ID를 사용하도록 검토해주세요.

Copy link
Member

@Seojunhwan Seojunhwan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수빈님! 궁금한 것이 있습니다!

  1. 상위 티켓 넘버를 작성하면 task -> sub-task로 생성되는 것인가요?!

브랜치 네이밍의 경우 모든 브랜치가 feat으로 시작한다면 의미가 없을 것 같다는 생각이 조금 들어요,,! (고민)

@wkdtnqls0506
Copy link
Contributor Author

수빈님! 궁금한 것이 있습니다!

  1. 상위 티켓 넘버를 작성하면 task -> sub-task로 생성되는 것인가요?!

브랜치 네이밍의 경우 모든 브랜치가 feat으로 시작한다면 의미가 없을 것 같다는 생각이 조금 들어요,,! (고민)

  1. 상위 티켓 넘버에 Story 키를 입력하면, 그 하위에 Task가 생성되는 방식입니다! 구조는 Story → Task로 연결될 것 같습니다~!
    Sub-Task로 생성되게 하려면 issuetype을 Sub-task로 지정해줘야 해요!

  2. 저도 브랜치 네이밍이 고민됐는데, 그렇다면 이슈 라벨을 기준으로 prefix를 동적으로 붙이도록 수정하는 방향이 더 나을까요?!

@Seojunhwan
Copy link
Member

  1. 상위 티켓 넘버에 Story 키를 입력하면, 그 하위에 Task가 생성되는 방식입니다! 구조는 Story → Task로 연결될 것 같습니다~!
    Sub-Task로 생성되게 하려면 issuetype을 Sub-task로 지정해줘야 해요!
  2. 저도 브랜치 네이밍이 고민됐는데, 그렇다면 이슈 라벨을 기준으로 prefix를 동적으로 붙이도록 수정하는 방향이 더 나을까요?!

1번은 우선 사용해볼까유

2번은 가능하다면 찬-성입니다!

@wkdtnqls0506
Copy link
Contributor Author

  1. 상위 티켓 넘버에 Story 키를 입력하면, 그 하위에 Task가 생성되는 방식입니다! 구조는 Story → Task로 연결될 것 같습니다~!
    Sub-Task로 생성되게 하려면 issuetype을 Sub-task로 지정해줘야 해요!
  2. 저도 브랜치 네이밍이 고민됐는데, 그렇다면 이슈 라벨을 기준으로 prefix를 동적으로 붙이도록 수정하는 방향이 더 나을까요?!

1번은 우선 사용해볼까유

2번은 가능하다면 찬-성입니다!

준환님 2번 관련해서 수정했습니다! (806bb83)

  1. 이슈 생성 시, 드롭다운에서 원하는 prefix를 선택해주시면
스크린샷 2025-06-18 오후 7 25 55


  1. 이슈가 생성되면 선택한 prefix를 기반으로 브랜치가 자동 생성되는 것을 확인했습니다~!
스크린샷 2025-06-18 오후 7 04 31

Copy link
Member

@Seojunhwan Seojunhwan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@wkdtnqls0506 wkdtnqls0506 merged commit f1e8295 into main Jun 19, 2025
3 checks passed
@wkdtnqls0506 wkdtnqls0506 deleted the feat/#29 branch June 19, 2025 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI] Jira 관련 워크플로우 생성

2 participants